<template>
  <el-container class="bg-white round" :style="{ height: h + 'px' }">
    <el-header class="image-header">
      <el-button type="primary" size="small" @click="handleOpenCreate">
        新增图片分类
      </el-button>

      <el-button type="warning" size="small" @click="handleOpenUpload">
        上传图片
      </el-button>
    </el-header>

    <el-container>
      <image-aside ref="imageAsideRef" @change="handleChange" />

      <image-main ref="imageMainRef" />
    </el-container>
  </el-container>
</template>

<script setup>
  import { ref } from 'vue'
  import ImageAside from './components/ImageAside.vue'
  import ImageMain from './components/ImageMain.vue'

  const windowHeight = window.innerHeight || document.body.clientHeight
  const h = windowHeight - 64 - 44 - 40

  const imageAsideRef = ref(null)
  const handleOpenCreate = () => imageAsideRef.value.handleCreate()

  const imageMainRef = ref(null)
  const handleChange = (activeId) => imageMainRef.value.loadData(activeId)
  const handleOpenUpload = () => imageMainRef.value.openUploadFile()
</script>

<style scoped>
  .image-header {
    border-bottom: 1px solid #eee;
    @apply flex items-center;
  }
</style>
